<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

    <f:metadata>
        <f:event type="preRenderView" listener="#{sessionManaged.validar_session('wfrmConsultaProducto')}"/>
    </f:metadata>
    <body>
        <ui:composition template="./../../../template.xhtml">
            <ui:define name="main_content">

                <ui:include src="/web-pages/OTROS/HELP/wfrmHelp_mtto.xhtml">
                    <ui:param name="toolBarWidth" value="1200"/>
                    <ui:param name="toolBarTitleWidth" value="1150"/>
                    <ui:param name="title" value="Consulta de Productos"/>
                </ui:include>
                <div align="left">
                    <p:panel header="Consulta de Productos" style="width: 1200px" >
                        <ui:include src="/web-pages/OTROS/wfrmMensaje.xhtml"/>
                        <div align="left">
                            <h:form id="quick_material" >
                                <h:panelGrid id="pProducto" columns="2">
                                    <p:panel style="width: inherit" header="Filtros para B&uacute;squeda de Informaci&oacute;n" toggleable="true" toggleSpeed="400" >

                                        <h:panelGrid id="pProducto1" columns="2">
                                            <h:panelGrid id="pProducto1_1" columns="4">

                                                <h:outputText value="Sucursal"/>
                                                <h:selectOneMenu id="sucursal" value="#{consultaProductoManaged.selectedEncaProducto.productoSucursales[0].codigo_s}" style="width: 200px">
                                                    <f:selectItems value="#{consultaProductoManaged.sucursales}" var="s" itemLabel="#{s.nombre_s}" itemValue="#{s.codigo_s}" />
                                                </h:selectOneMenu>
                                                <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.productoSucursales[0].estado_filtro_s}" title="Filtrar por Sucursal" style="width: 25px" />
                                                <h:outputText value="Filtrar"/>

                                                <h:outputText value="L&iacute;nea"/>
                                                <h:selectOneMenu id="cmbLinea" value="#{consultaProductoManaged.selectedEncaProducto.codigo_l}" style="width: 200px">
                                                    <f:selectItems value="#{consultaProductoManaged.lineas}" var="l" itemLabel="#{l.nombre_l}" itemValue="#{l.codigo_l}" />
                                                    <p:ajax listener="#{consultaProductoManaged.llenarSubLinea}" update="cmbSubLinea"/>
                                                </h:selectOneMenu>

                                                <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_l}" title="Filtrar por L&iacute;nea" style="width: 25px" />
                                                <h:outputText value="Filtrar"/>

                                                <h:outputText value="Sub L&iacute;nea"/>
                                                <h:selectOneMenu id="cmbSubLinea" value="#{consultaProductoManaged.selectedEncaProducto.codigo_sl}" style="width: 200px" >
                                                    <f:selectItems value="#{consultaProductoManaged.subLineas}" var="sl" itemLabel="#{sl.nombre_sl}" itemValue="#{sl.codigo_sl}" />
                                                </h:selectOneMenu>

                                                <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_sl}" title="Filtrar por Sub Categor&iacute;a" style="width: 25px" />
                                                <h:outputText value="Filtrar"/>

                                                <h:outputText value="Medici&oacute;n"/>
                                                <h:selectOneMenu value="#{consultaProductoManaged.selectedEncaProducto.codigo_u}" style="width: 200px" >
                                                    <f:selectItems value="#{consultaProductoManaged.unidades}" var="u" itemLabel="#{u.nombre_u}" itemValue="#{u.codigo_u}" />
                                                </h:selectOneMenu>

                                                <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_u}" title="Filtrar por Unidad de Medici&oacute;n" style="width: 25px" />
                                                <h:outputText value="Filtrar"/>

                                                <h:outputText value="Tipo Producto"/>
                                                <h:selectOneMenu id="tipo" value="#{consultaProductoManaged.selectedEncaProducto.codigo_tp}" style="width: 200px" >
                                                    <f:selectItems value="#{consultaProductoManaged.tipoProductos}" var="tp" itemLabel="#{tp.nombre_tp}" itemValue="#{tp.codigo_tp}" />
                                                </h:selectOneMenu>

                                                <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_tp}" title="Filtrar por Tipo de Productos" style="width: 25px" />
                                                <h:outputText value="Filtrar"/>

                                                <h:outputText value="Marca"/>
                                                <h:selectOneMenu id="marca" value="#{consultaProductoManaged.selectedEncaProducto.codigo_m}" style="width: 200px">
                                                    <f:selectItems value="#{consultaProductoManaged.marcas}" var="mc" itemLabel="#{mc.nombre_m}" itemValue="#{mc.codigo_m}" />
                                                </h:selectOneMenu>

                                                <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_m}" title="Filtrar por Marca" style="width: 25px" />
                                                <h:outputText value="Filtrar"/>
                                            </h:panelGrid>

                                            <h:panelGrid id="pProducto1_2" columns="1">
                                                <div align="center">
                                                    <p:commandButton value="#{sms.buscar}" actionListener="#{consultaProductoManaged.buscarGrid}" update="grid mensaje"/>
                                                    <p:commandButton value="#{sms.limpiar}" actionListener="#{limpiarManaged.limpiar}" update="quick_material grid"/>
                                                </div>
                                            </h:panelGrid>

                                        </h:panelGrid>
                                    </p:panel>

                                    <p:panel style="width: inherit" header="Informaci&oacute;n de Producto" toggleable="true" toggleSpeed="400" >
                                        <h:panelGrid id="pProducto1_4" columns="4">
                                            <h:outputText value="Categor&iacute;a"/><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_l}" style="width: 200px" readonly="true"/>
                                            <h:outputText value="Sub Categor&iacute;a."/><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_sl}" style="width: 200px" readonly="true" />
                                            <h:outputText value="Marca" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_m}" style="width: 200px" readonly="true" />
                                            <h:outputText value="U.Medici&oacute;n" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_u}" style="width: 200px" readonly="true" />
                                            <h:outputText value="T. Material" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_tp}" style="width: 200px" readonly="true" />
                                            <h:outputText value="Costo" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.costo_p}" style="width: 200px" readonly="true" />
                                        </h:panelGrid>
                                    </p:panel>
                                </h:panelGrid>


                                <h:panelGrid id="pConProducto2" columns="4">
                                    <h:outputText value="Descricpci&oacute;n" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.descripcion_p}" style="width: 700px" readonly="true" />
                                    <h:outputText value="C. Barra" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.codigo_barra_p}" style="width: 200px" readonly="true" />

                                    <h:outputText value="Otra Informaci&oacute;n" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.otra_informacion_p}" style="width: 700px" readonly="true" rendered="true" />
                                    <h:outputText value="C. Original" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.codigo_barra_original_p}" style="width: 200px" readonly="true" />
                                </h:panelGrid>

                            </h:form>
                            <h:form id="grid">
                                <p:dataTable id="table" value="#{consultaProductoManaged.productos}" var="row" rows="15"
                                             paginator="true"  paginatorPosition="bottom" selectionMode="single" selection="#{consultaProductoManaged.selectedDetaProducto}"
                                             emptyMessage="#{sms.TableEmptyMessage}" onRowSelectUpdate="quick_material" update="grid:pRowExpansion mensaje"
                                             rowSelectListener="#{consultaProductoManaged.llenar_tableDeta}" >
                                    <f:facet name="header" >
                                        <h:outputText value="Lista de Productos"/>
                                    </f:facet>
                                    <p:column style="width:16px">
                                        <p:rowToggler />
                                    </p:column>

                                    <p:column headerText="L&iacute;nea" style="width:50px" sortBy="#{row.nombre_l}" filterBy="#{row.nombre_l}">
                                        <h:outputText value="#{row.nombre_l}"/>
                                    </p:column>
                                    <p:column headerText="Sub L&iacute;nea" style="width:50px" sortBy="#{row.nombre_sl}" filterBy="#{row.nombre_sl}">
                                        <h:outputText value="#{row.nombre_sl}"/>
                                    </p:column>
                                    <p:column headerText="Nombre del Producto" sortBy="#{row.nombre_p}" filterBy="#{row.nombre_p}" filterMatchMode="contains" style="width:450px" >
                                        <h:outputText value="#{row.nombre_p}"/>
                                    </p:column>
                                    <p:column headerText="Cód. Barra" sortBy="#{row.codigo_barra_p}" filterBy="#{row.codigo_barra_p}" filterMatchMode="contains" style="width:100px" rendered="false">
                                        <h:outputText value="#{row.codigo_barra_p}"/>
                                    </p:column>
                                    <p:column headerText="Cód. Barra Original" sortBy="#{row.codigo_barra_original_p}" filterBy="#{row.codigo_barra_original_p}" filterMatchMode="contains" style="width:100px" rendered="false">
                                        <h:outputText value="#{row.codigo_barra_original_p}"/>
                                    </p:column>
                                    <p:column headerText="Existencia" style="width:50px" sortBy="#{row.existencia_total_p}" rendered="true">
                                        <h:outputText value="#{row.existencia_total_p}"/>
                                    </p:column>
                                    
                                    <p:rowExpansion id="pRowExpansion">
                                        <br/>
                                        <div align="left">
                                            <h:outputText value="Total Existencia " style="font-weight: bold; font-size: large"/><p:spacer width="400" height="10"/>
                                            <h:outputText value="#{row.existencia_total_p}" style="font-weight: bold; font-size: large" />
                                        </div>
                                        <br/>
                                        <p:dataTable id="deta_table" value="#{consultaProductoManaged.productoSucursales}" var="row" rows="20"
                                                     paginator="true" paginatorPosition="bottom" selectionMode="single"
                                                     emptyMessage="#{sms.TableEmptyMessage}" >
                                            <f:facet name="header" >
                                                <h:outputText value="Existencia de Producto"/>
                                            </f:facet>
                                            <p:column headerText="Sucursal" style="width: 200px" sortBy="#{row.nombre_s}" filterBy="#{row.nombre_s}" filterMatchMode="contains">
                                                <h:outputText value="#{row.nombre_s}" style="width: 200px" />
                                            </p:column>
                                            <p:column headerText="M&aacute;ximo" style="width: 15px" sortBy="#{row.maximo_ps}">
                                                <h:outputText value="#{row.maximo_ps}" style="width: 15px" />
                                            </p:column>
                                            <p:column headerText="M&iacute;nimo" style="width: 15px" sortBy="#{row.minimo_ps}">
                                                <h:outputText value="#{row.minimo_ps}" style="width: 15px" />
                                            </p:column>
                                            <p:column headerText="Existencia" style="width: 15px" sortBy="#{row.existencia_ps}">
                                                <h:outputText value="#{row.existencia_ps}" style="width: 15px" />
                                            </p:column>
                                            <p:column headerText="Ubicaci&oacute;n" style="width: 500px" sortBy="#{row.ubicacion_ps}" filterBy="#{row.ubicacion_ps}" filterMatchMode="contains">
                                                <h:outputText value="#{row.ubicacion_ps}" style="width: 500px" />
                                            </p:column>
                                        </p:dataTable>
                                    </p:rowExpansion>
                                </p:dataTable>
                            </h:form>
                        </div>
                    </p:panel>
                </div>
            </ui:define>

        </ui:composition>

    </body>
</html>